<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script type="module">
	import Promise from "./index.js";
	// then函数返回新的Promise状态和值受回调函数(成功或失败)返回值的影响.
	// 1- 如果返回的是一个非Promise实例,那么得到的Promise状态为成功,成功值为返回值
    // 2- 如果返回的是一个Promise实例,得到的Promise状态与值同返回的Promise一致.
    // 3- 回调函数中有异常,那么得到的状态为rejected,失败值为异常信息
	const p = new Promise(function (resolve, reject) {
		resolve(100);
		// reject(200);
		// throw "异常";
	});
	const p3 = new Promise((resolve,reject)=>{
		resolve(300);
	});
	const p2 = p.then(function (value) {
		console.log("成功回调");
		// return value + 10;
        return new Promise((resolve,reject)=>{
			resolve(300);
        })
        // return p3;
        // throw "异常";
	}, function (reason) {
		// console.log("失败回调");
		// return reason + 20;// 220
        return new Promise((resolve,reject)=>{
			resolve(400)
        })
	});
	console.log(p2);// rejected 异常


</script>
</html>